Data stored on a storage device can be made accessible to several clients or applications connected to a network using a network storage system such as network attached storage (NAS). Network attached storage is generally implemented by connecting a NAS device to a network switch to which a certain number of clients or applications are linked.
The NAS device, often called a “server” due to the fact that it provides a service, comprises software that implements a file system or a file management method and is connected directly to the storage device. Communication with the storage device is performed through a high speed small computer system interface (SCSE) or an integrated drive electronic (IDE) link.
The digital files stored using network attached storage are visible to each client on the network and during a request for a digital file the file system retrieves sectors of data of the digital file stored in different physical locations of the storage device and communicates the complete digital file to the client.
For the client, the NAS system has a simplified administration, the client requests a digital file and the digital file is delivered as an undivided unit. However, due to the fact that multiple clients communicate with the NAS device through one communication channel that enters the NAS device, the NAS storage system develops a communication bottleneck when a large amount of data is being transferred to or from the storage device or in the presence of a large number of client requests.
Clustered storage systems such as storage area networks (SAN) remove or reduce the bottleneck developed by NAS systems. The SAN comprises a plurality of storage devices connected in parallel to a SAN switch with a client being connected directly to the SAN switch or indirectly through a server connected to the SAN switch. As the storage data is distributed amongst a plurality of storage devices, concurrent access to the shared data is increased and the risk of developing a communication bottleneck is reduced.
However, the SAN system requires a more complex distributed file system to be implemented by the client to manage data storage. The distributed file system used by the client retrieves data segments of a digital file distributed amongst several storage devices. Standard distributed file systems such as network file system (NFS) or common internet file system (CIFS) cannot be used and specialised and expensive hardware is required to implement the distributed storage functionality.
Multimedia data generally refers to data containing visual, audio, animation, graphical or text information or a combination of any of these. Multimedia data typically comprises large quantities of data bits that necessitate high bit rate communication. The transfer of the multimedia data requires data to be streamed continuously that is communicated in a linear and continuous manner. Multimedia data is currently used for example in medical applications, military applications and in the audio-visual applications of television studios.
The network storage of multimedia data differs from that of traditional information technology data in terms of storage space and access requirements. A network data storage system used in the multimedia data environment needs to support extremely large volumes of data, to provide high bandwidth and needs to give priority to linear continuous access to the stored multimedia data.
A client or application on the network that requests multimedia data requires the data to be delivered in strict temporal continuity from the storage unit. Due to the fact that the multimedia data is consumed in real time, the transfer of the multimedia data needs to be strictly respected and controlled in the time domain and a delay in the arrival of the multimedia data cannot be tolerated.
The communication bottleneck of the NAS system is problematic for multimedia data streaming and does not respect the strict temporal requirements of the multimedia data. The SAN system imposes the use of a complex distributed file system by the client to manage data storage on a plurality of storage devices.